package com.lmaos.basetools.control;

import java.util.List;

import com.lmaos.allcontrol.beancontrol.entity_.LMClassParam;

public interface SControl {
	public static int REQ_NOT_EXIST = 404;
	public static int REQ_SERVER_ERR = 500;
	public static int REQ_SUCCESS_200 = 200;
	public static int REQ_SUCCESS_000 = 0;
	public static int REQ_INTERCEPT_1 = 1; // 请求被拦截失败的访问
	/**
	 * 说明：添加控制器		<br>
	 * 时间：2017年6月21日 下午2:10:57
	 *
	 * @param controlObj
	 */
	public void addControl(Object controlObj);
	
	public void addControls(List<Object> controlObjs);
	/**
	 * 说明：获得编码		<br>
	 * 时间：2017年6月28日 上午11:03:27
	 *
	 * @param url
	 * @return
	 */
	public String getSControlBeanEncode(String url);
	
	public String getSControlBeanContentType(String url);
	
	public SControlBean getSControlBean(String url);
	/**
	 * 说明：执行控制器		<br>
	 * 时间：2017年6月21日 下午2:11:06
	 *
	 * @param classParam
	 * @param url
	 */
	public int execute(LMClassParam classParam,String url);
	public int execute(LMClassParam classParam,SControlBean controlBean);
	
	public void executeResult(LMClassParam classParam,String resultName) throws Exception;
	public void executeResult(LMClassParam classParam,SControlResultBean resultBean) throws Exception;
	public String getRoot();
	
	public void setContentType(String contentType);
	
	public void setEncode(String charset_charset);
	/**
	 * 说明：获得所有的控制器		<br>
	 * 时间：2017年6月29日 上午10:07:29
	 *
	 * @return
	 */
	public List<SControlBean> getScontrolBeans();
}
